Garment tags for intelligent laundering alerts

ABSTRACT

Aspects of the present disclosure involve an apparatus, systems, and methods for providing intelligent alerts for garments. Garment attribute data describing a plurality of garments is accessed. An alert condition is detected based on the garment attribute data. A human-detectable sensory alert is provided in response to detecting the alert condition.

PRIORITY CLAIM

This application is a continuation of U.S. application Ser. No.15/901,724, filed Feb. 21, 2018, which is a continuation of U.S.application Ser. No. 15/442,436, filed on Feb. 24, 2017, now Issued asU.S. Pat. No. 9,928,722, which is a continuation of and claims thebenefit of priority to U.S. application Ser. No. 14/578,365, filed onDec. 20, 2014, now U.S. Pat. No. 9,594,996, entitled “GARMENT TAGS FORINTELLIGENT LAUNDERING ALERTS,” which are hereby incorporated byreference in their entirety.

TECHNICAL FIELD

The present application relates to data processing. In particular,example embodiments relate to garment tags for providing intelligentlaundering alerts.

BACKGROUND

Most clothing and other frequently laundered articles include labelswith printed information describing a manner in which the article shouldbe laundered. These laundering instructions are typically based on atype or color of the fabric. As an example, clothing labels includeinformation such as “wash with like colors,” “do not iron,” or“dry-clean only.” Failure to follow the provided laundering instructionsmay result in the item being damaged or destroyed. This type of laundrywarning is often conspicuously located on labels that are now relativelyubiquitous, yet despite the potential unwanted effects of noncompliance,because of the laborious effort involved in checking each label in aload of laundry, these warnings regularly go unheeded. Further, theprinted information on the labels often fades over time makingcompliance with laundering instructions even more difficult.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present disclosure and cannot be considered aslimiting its scope.

FIG. 1 is a context diagram illustrating a garment having an intelligentgarment tag, according to an example embodiment.

FIG. 2 is a block diagram illustrating various functional components ofan intelligent garment tag, according to an example embodiment.

FIG. 3 is a system diagram illustrating an intelligent launderingenvironment, according to an example embodiment.

FIG. 4 is a flowchart illustrating a method for providing a launderingalert, according to an example embodiment.

FIG. 5 is a flowchart illustrating a method for detecting a colorcompatibility of garments, according to an example embodiment.

FIG. 6 is a context diagram illustrating an alert being provided by aplurality of intelligent garment tags based on color compatibility,according to an example embodiment.

FIG. 7 is a flowchart illustrating a method for detecting colorincompatibility of garments, according to an example embodiment.

FIG. 8 is a context diagram illustrating an alert being provided by anintelligent garment tag based on laundering device incompatibility,according to an example embodiment.

FIG. 9 is a flowchart illustrating a method for detecting launderingdevice incompatibility, according to an example embodiment.

FIG. 10 is a context diagram illustrating an alert being provided by anintelligent garment tag based on color compatibility, according to anexample embodiment.

FIG. 11 is a diagrammatic representation of a machine in the exampleform of a computer system within which a set of instructions for causingthe machine to perform any one or more of the methodologies discussedherein may be executed.

DETAILED DESCRIPTION

Reference will now be made in detail to specific example embodiments forcarrying out the inventive subject matter. Examples of these specificembodiments are illustrated in the accompanying drawings. It will beunderstood that these examples are not intended to limit the scope ofthe claims to the illustrated embodiments. On the contrary, they areintended to cover alternatives, modifications, and equivalents as may beincluded within the scope of the disclosure. In the followingdescription, specific details are set forth in order to provide athorough understanding of the subject matter. Embodiments may bepracticed without some or all of these specific details.

Aspects of the present disclosure involve an apparatus, systems, andmethods for providing intelligent laundering alerts. For the purpose ofthe present disclosure, the term “launder” is used in various tenses torefer to a process of making garments (e.g., clothes) or householdlinens (e.g., sheets and towels) ready for use including the steps ofsorting, washing, drying, folding, hanging, ironing and steaming.Further, as used herein, the term “launderer” refers to a personperforming or engaged in the process of laundering whether throughutilization of one or more laundering devices or by hand. The term“laundering device” refers to any device or piece of equipment used inthe process of laundering. Laundering devices may, for example, includewashing machines (also referred to as a “laundry machine,” a “clotheswasher,” or simply a “washer”), clothes dryers (also referred to as a“tumble dryer,” a “drying machine” or simply a “dryer”), clothes iron(also referred to as a “flatiron” or simply an “iron”), a steamer, or adry cleaning machine.

Example embodiments involve an intelligent garment tag that may beaffixed to garments, and may store and provide information about agarment to which it is affixed. The information stored thereon describesvarious aspects of the garment including color, fabric, and launderinginformation. The intelligent garment tags further include an alertcomponent for providing laundering alerts (e.g., a flashing or coloredlight, a warning noise, or a vibration) to assist launderers in thelaundering process. The laundering alerts may, for example, assistlaunderers in sorting garments by color by either providing an alertthat signals that garments of a similar color have been or should begrouped together, or by providing an alert that signals that a certaingarment should not be included in a particular group of garments becauseit is not of the same or similar color. In another example, thelaundering alerts may help to prevent launderers from using a launderingdevice that may damage or destroy clothing by providing an alert whenthe garment is placed near the laundering device. Consistent with someembodiments, the type of alert provided by the intelligent garment tagsmay be dependent upon a type of alert condition triggering the alert.For example, the intelligent garment tag may vibrate if items are ofincompatible color, but flash a colored light if the garment isincompatible with a laundering device.

FIG. 1 is a context diagram illustrating a garment 100 having anintelligent garment tag 102, according to an example embodiment. Asshown, the intelligent garment tag 102 is affixed to the garment 100inside the collar at a location traditionally occupied by a clothinglabel with printed information. Accordingly, the intelligent garment tag102 may replace traditional clothing labels or may be combined oraffixed to such clothing labels. However, it shall be appreciated thatthe positioning of the intelligent garment tag 102 as illustrated inFIG. 1 is merely exemplary and is not intended to limit the positioningof the intelligent garment tag 102 to such a location. For example, theintelligent garment tag 102 may be integrated into a button or otheradornment of the garment 100. Further, although the garment 100 isillustrated in FIG. 1 to be a shirt, the intelligent garment tag 102 isnot specifically limited in application to shirts, and may be utilizedfor any type of garments or even other laundry items such as bedding,tablecloths, and towels.

The intelligent garment tag 102 stores information about the garment 100such as color, fabric, and laundering information. The intelligentgarment tag 102 may share the information about the garment 100 withother instances of the intelligent garment tag 102 or with various otherdevices (e.g., a controller). Consistent with some embodiments, theintelligent garment tag 102 may be implemented using a radio frequencyidentification (RFID) device to exchange such information usingradio-frequency (RF) signals.

The intelligent garment tag 102 is also configured to provide variouslaundering alerts that may assist individuals in laundering the garment100. These laundering alerts may, for example, assist launderers withsorting clothes prior to washing. For example, the intelligent garmenttag 102 may provide an alert to notify a launderer that the garment 100has been sorted into a pile of clothes that are not color compatible(e.g., dark colored clothing that may bleed onto the garment 100, whichin this scenario is light colored). The laundering alerts may furtherassist launderers in avoiding laundering practices that may harm,damage, or destroy garments. For example, assuming the garment 100 ismade of wool, the intelligent garment tag 102 may provide an alert tonotify the launderer that the garment 100 is not to be dried in aclothes dryer.

FIG. 2 is a block diagram illustrating various functional components ofthe intelligent garment tag 102, according an example embodiment. As isunderstood by skilled artisans in the relevant computer andInternet-related arts, each component (e.g., a module or engine)illustrated in FIG. 2 may represent a hardware component, a set ofhardware components, or a set of logic (e.g., executable softwareinstructions) and the corresponding hardware (e.g., memory andprocessor) for executing the set of logic. While the functionalcomponents of the intelligent garment tag 102 are depicted and discussedin the singular sense, it will be appreciated that in other embodimentsmultiple instances of any one of these components may be employed.

The intelligent garment tag 102 is illustrated in FIG. 2 as including amemory 200, a transmitter 202, a receiver 204, and an alert component206, all configured to communicate with each other (e.g., via a bus,shared memory, a switch, or application programming interfaces (APIs)).It will be appreciated that one or more these various components of theintelligent garment tag 102 may be combined into a single component. Asan example, the memory 200, transmitter 202, and receiver 204 maycollectively form what skilled artisans would recognize as an RFID tag.As another example, the transmitter 202 and receiver 204 may be combined(e.g., to share common circuitry or a single housing) to form atransceiver.

Further, in some embodiments, one or more components may be omitted andadditional components may also be included. For instance, in the exampleembodiment provided by FIG. 2, the intelligent garment tag 102 is alsoillustrated as including a power source 208 (e.g., a battery) capable ofpowering each of the various other functional components of theintelligent garment tag 102. However, in some other embodiments, thepower source 208 may be omitted and the intelligent garment tag 102 maybe powered by electromagnetic induction from magnetic fields produced byother devices in communication with the intelligent garment tag 102.

The memory 200 may be a non-volatile machine-readable memory unit (e.g.,read-only memory or flash memory) on which is stored information about agarment (e.g., the garment 100 to which the intelligent garment tag 102is affixed). In particular, the memory 200 stores one or more garmentattributes that collectively comprise garment attribute data of thegarment 100. The garment attributes describe aspects of the garment 100.The garment attributes may, for example, include a color attributedescribing the color of the garment 100, a fabric attribute describing afabric the garment 100 is made of (e.g., cotton, wool, or silk), andlaundering-specific attributes related to a manner in which the garment100 is to be laundered including the use of specific laundering devices.The color attribute may describe the color of the garment 100 as aspecific color (e.g., red or white) or more generally as a shade ofcolor (e.g., dark or light).

The laundering-specific attributes may include, but are not limited to,the following: a washing machine attribute describing the garment's(e.g., garment 100) compatibility with a washing machine; a bleachingattribute describing the garment's compatibility with bleach; a clothesdryer attribute describing the garment's compatibility with a clothesdryer; an ironing attribute describing the garment's compatibility withan iron; and a dry-cleaning attribute specifying whether the garment isto be dry-cleaned. Each of the laundering-specific attributes mayspecify whether the garment 100 is compatible with a particularlaundering device, and under what settings the laundering device is tobe used with the garment 100. As an example, a washing attribute mayspecify that the garment 100 may be washed in a washing machine at atemperature below a certain threshold. As another example, the dryerattribute may specify that the garment 100 is not to be dried in aclothes dryer or that the garment 100 may be dried, but only at acertain temperature.

The transmitter 202 is configured to transmit the garment attribute datastored in the memory 200 to another instance of the intelligent garmenttag 102 or to another device capable of reading such information (e.g.,an RFID reader). The transmitter 202 may transmit the garment attributedata to another intelligent garment tag 102 or another device uponreceiving an interrogatory signal or request therefrom. The transmitter202 may comprise an antenna capable of wirelessly transmitting thegarment attribute data in one or many various frequencies and protocols.In some embodiments, the transmitter 202 comprises an antenna capable oftransmitting a modulated radio-frequency (RF) signal. In otherembodiments, the transmitter 202 comprises an antenna capable oftransmitting the garment attribute data using a low energy datatransmission protocol such as Bluetooth Low Energy (BLE).

The receiver 204 comprises an antenna configured to obtain data fromother intelligent garment tags 102 and from other devices. As anexample, the receiver 204 may work in conjunction with the transmitter202 to transmit a request or interrogatory signal (e.g., an encodedradio signal) to a different instance of the intelligent garment tag102, and in response, the receiver 204 is provided with garmentattribute data of the garment to which the different instance of theintelligent garment tag 102 is affixed. As another example, the receiver204 may receive control data from a controller that causes theintelligent garment tag 102 to provide an alert. Further details of sucha controller are discussed below in reference to FIG. 3.

In some embodiments, the data received by the receiver 204 is providedas a modulated RF signals. In some embodiments, the data received by thereceiver 204 is transmitted using a low energy data transmissionprotocol such as BLE.

The alert component 206 is configured to detect alert conditions andprovide laundering alerts in response thereto. To this end, the alertcomponent 206 may include a set of logic (e.g., a set ofmachine-readable instructions) for detecting an alert condition. Analert condition is a circumstance or set of circumstances giving rise toa laundering alert. Alert conditions may, for example, include garmentcolor compatibility (e.g., the garment 100 is near other similarlycolored garments), garment color incompatibility (e.g., the garment 100is near dissimilarly colored garments), or laundering deviceincompatibility (e.g., the garment 100 is near or being used with alaundering device that may harm or damage the garment 100).

The laundering alerts provided by the alert component 206 in response toan alert condition may be one of several types of human-detectablesensory alerts including visual or luminescent alerts (e.g., flashinglights), an auditory alert (e.g., a beep or other sound), or a hapticalert (e.g., a vibration). Accordingly, the alert component 206 maycomprise one or more of the following to provide human-detectablesensory alerts: a light emitting component (e.g., a light emitting diode(LED) or light bulb), an electroacoustic transducer (e.g., a speaker),or a haptic actuator.

FIG. 3 is a system diagram illustrating an intelligent launderingenvironment 300, according to an example embodiment. To avoid obscuringthe inventive subject matter with unnecessary detail, various functionalcomponents (e.g., modules and engines) that are not germane to conveyingan understanding of the inventive subject matter have been omitted fromFIG. 3. However, a skilled artisan will readily recognize that variousadditional functional components may be supported by the intelligentlaundering environment 300 to facilitate additional functionality thatis not specifically described herein.

As shown, the intelligent laundering environment 300 includes acontroller 302 in communication with the intelligent garment tag 102affixed to the garment 100. The controller 302 comprises a reader 304, atransmitter 306, and a detector module 308. The reader 304 isresponsible for obtaining information (e.g., garment attribute data)from the intelligent garment tag 102. Accordingly, the reader 304 maycomprise an antenna or integrated circuit capable of wirelesslyretrieving information (e.g., garment attribute data) from theintelligent garment tag 102. In some embodiments, the intelligentgarment tag 102 may be implemented as an RFID device or tag andaccordingly, the reader 304 may be implemented as an RFID reader.

The transmitter 306 is responsible for providing control data to theintelligent garment tag 102. Accordingly, the transmitter 306 maycomprise an antenna capable of wirelessly transmitting the control datato the intelligent garment tag 102. The control data, once received bythe intelligent garment tag 102, causes the intelligent garment tag 102to provide one or more laundering alerts.

The detector module 308 may be a hardware implemented module or a set ofinstructions stored on a computer-readable medium and the correspondinghardware (e.g., memory and processor) for executing the set of logicthat is operable to detect an alert condition occurring within theintelligent laundering environment 300. Upon detecting the alertcondition, the detector module 308 may work in conjunction with thetransmitter 306 to provide control data to the intelligent garment tag102 that causes the intelligent garment tag 102 to provide a launderingalert.

Although the controller 302 is illustrated to be in communication with asingle instance of the intelligent garment tag 120, it shall beappreciated that the controller 302 may be in communication withmultiple instances of the intelligent garment tag 102 that correspond toother garments. In this manner, the controller 302 may serve as acentral hub for controlling and exchanging data with a plurality ofintelligent garment tags 102. However, it shall be appreciated that inother embodiments, the controller 302 may be omitted, and multipleinstances of the intelligent garment tag 102 may communicate andexchange data without the need for the controller 302. Further, whilethe controller 302 is illustrated in FIG. 3 to form a stand-alonecomponent, it shall be appreciated that in other embodiments, thecontroller 302 may be implemented by a computer or be embedded in alaundering device (e.g., washing machine or clothes dryer) to provideadditional functionality thereto. Moreover, in some embodiments, thecontroller 302 may be embedded in an instance of the intelligent garmenttag 102.

FIG. 4 is a flowchart illustrating a method 400 for providing alaundering alert, according to an example embodiment. The method 400 maybe embodied in computer-readable instructions for execution by ahardware component (e.g., a processor) such that the steps of the method400 may be performed in part or in whole by the intelligent garment tag102 or the controller 302, and accordingly, the method 400 is describedbelow, by way of example with reference thereto. However, it shall beappreciated that the method 400 may be deployed on various otherhardware configurations and is not intended to be limited to theintelligent garment tag 102 or the controller 302.

At operation 405, the receiver 204 or the reader 304 accesses garmentattribute data of a garment (e.g., the garment 100) from a memory (e.g.,memory 200) of an intelligent garment tag 102 corresponding to thegarment. The garment attribute data describes various characteristics ofthe garment including, for example, a color, a fabric type, andlaundering information (e.g., information describing various manners inwhich the garment should be laundered). Consistent with someembodiments, the operation 405 may be triggered by a determination thattwo or more garment tags are proximate (e.g., within a predefineddistance of one another). Further, the receiver 204 or the reader 304may obtain the garment attribute data by transmitting a request (orinterrogatory signal) to the proximate garment tags, and receiving adata packet from the garment tags provided in response to the request,wherein the data packet comprises the garment attribute data.

At operation 410, the alert component 206 or the detector module 308detects an alert condition based on the garment attribute data. Thealert condition may, for example, be based on garment colorcompatibility or on laundering device compatibility. In some instances,the detecting of an alert condition may be based on a comparison ofgarment attribute data obtained from multiple garment tags. As anexample, the alert component 206 of a first intelligent garment tagcorresponding to a dark colored garment may detect that the garment hasbeen placed in a sort pile or is otherwise proximate (e.g., within apredefined distance) to light colored clothing based on garmentattribute information obtained from intelligent garment tags of thelight colored clothing. In some instances, the alert component 206 orthe detector module 308 may cause multiple garment tags to provide anidentical alert (e.g., in situations in which a set of similarly coloredgarments are grouped together). Further examples of the operation 410are discussed below in reference to FIGS. 5-9.

At operation 415, the alert component 206 or the controller 302 causes ahuman-detectable sensory alert to be provided by one or more intelligentgarment tags 102 in response to detecting the alert condition. Ininstances in which the operation 415 is carried out by the intelligentgarment tag 102, the alert component 206 may simply provide thehuman-detectable sensory alert via an embedded light emitting component(e.g., LED), electroacoustic transducer (e.g., a speaker), or hapticactuator. In instances in which the operation 415 is carried out by thecontroller 302, the controller 302 may transmit control data via thetransmitter 306 to an intelligent garment tag 102 that causes theintelligent garment tag 102 to provide the human-detectable sensoryalert upon receipt thereof.

FIG. 5 is a flowchart illustrating a method 500 for detecting a colorcompatibility of garments, according to an example embodiment.Consistent with some embodiments, the method 500 corresponds to theoperation 410. The method 500 may be embodied in computer-readableinstructions for execution by a hardware component (e.g., a processor)such that the steps of the method 500 may be performed in part or inwhole by the intelligent garment tag 102 or the controller 302, andaccordingly, the method 500 is described below, by way of example withreference thereto. However, it shall be appreciated that the method 500may be deployed on various other hardware configurations and is notintended to be limited to the intelligent garment tag 102 or thecontroller 302.

At operation 505, the alert component 206 or detector module 308determines that a first garment and a second garment are proximate(e.g., within a predefined distance of one another). The determinationof the proximity of the garments may be based on the relative strengthof the signal provided by respective transmitters 202 of intelligentgarment tags affixed to each of the first and second garments.

At operation 510, the alert component 206 or the detector module 308accesses garment attribute data for the first and second garments. Atoperation 515, the alert component 206 or the detector module 308determines that the first and second garments are color compatible basedon the garment attribute data of the first and second garments. In otherwords, the alert component 206 or the detector module 308 determinesthat the first and second garments are of like color. In this way, oneor more of the intelligent garment tags 102 may be used to assistlaunderers in sorting laundry such that similar colors are grouped andwashed together.

FIG. 6 is a context diagram illustrating an alert being provided by aplurality of intelligent garment tags based on color compatibility,according to an example embodiment. As shown, a light colored garment600 that includes a garment tag 602 is placed at a distance 604 from aplurality of additional light colored garments 606 each having a garmenttag 608. As an example, the plurality of additional light coloredgarments 606 may represent a sort pile of clothes grouped together priorto being placed in a washing machine for cleaning. In this exampleembodiment, the garment tags 602 and 608 are instances of theintelligent garment tag 102.

The garment tag 602 determines that the garment 600 is proximate to theplurality of additional light colored garments 606 upon detecting thegarment 600 being placed at the distance 604 from the plurality ofadditional light colored garments 606 (e.g., based on the strength ofthe signal provided by the garment tags 608). Upon determining that thegarment 600 is proximate to plurality of additional light coloredgarments 606, the receiver 204 of the garment tag 602 obtains garmentattribute data of each of the plurality of additional light coloredgarments 606 stored in a respective memory 200 of the garment tags 608.For example, the receiver 204 of the garment tag 602 may receive garmentattribute data of each of the plurality of additional light coloredgarments 606 from a respective transmitter 202 of the garment tags 608upon submitting a request therefor to the garment tags 608.

The garment tag 602 then compares the garment attribute data of thelight colored garment 600 (e.g., stored in the memory 200 of the garmenttag 602) with the garment attribute data of the plurality of additionallight colored garments 606 to determine the color compatibility of thegarments. Since the light colored garment 600 and the plurality ofadditional light colored garments 606 are all light colored, the garmenttag 602 determines that the garments are color compatible. In responseto this determination, the garment tag 602 provides an alert 610 andcauses the garment tags 608 to provide an identical alert 610. Dependingon the embodiment, the alert 610 may be an auditory, luminescent, orhaptic alert. As an example, the alert 610 provided by the garment tags602 and 608 may be a flashing light of the same color, pattern, orfrequency. Because the garment tags 602 and 608 each provide the samealert 610 (e.g., a luminescent alert of a particular color), a laundereris notified that the garments are of similar color (e.g., lightcolored), and thusly should be sorted together for the purpose oflaundering.

FIG. 7 is a flowchart illustrating a method 700 for detecting a colorincompatibility of garments, according to an example embodiment.Consistent with some embodiments, the method 700 corresponds to theoperation 410 of method 400 (FIG. 4). The method 700 may be embodied incomputer-readable instructions for execution by a hardware component(e.g., a processor) such that the steps of the method 700 may beperformed in part or in whole by the intelligent garment tag 102 or thecontroller 302, and accordingly, the method 700 is described below, byway of example with reference thereto. However, it shall be appreciatedthat the method 700 may be deployed on various other hardwareconfigurations and is not intended to be limited to the intelligentgarment tag 102 or the controller 302.

At operation 705, the alert component 206 or detector module 308determines that a first garment and a second garment are proximate(e.g., within a predefined distance of one another). The determinationof the proximity of the garments may be based on the relative strengthof the signal provided by respective transmitters 202 of intelligentgarment tags affixed to each of the first and second garments.

At operation 710, the alert component 206 or the detector module 308accesses garment attribute data for the first and second garments. Atoperation 715, the alert component 206 or the detector module 308determines the first and second garments are color incompatible based onthe garment attribute data of the first and second garments. In otherwords, the first and second garments are not of like color (or type ofcolor) and may run the risk of bleeding colors onto each other. In thisway, use of the intelligent garment tags 102 may help avoid situationsin which the color of one garment discolors or tarnishes the color ofanother garment during laundering.

FIG. 8 is a context diagram illustrating an alert being provided by anintelligent garment tag based on laundering device incompatibility,according to an example embodiment. As shown, the light colored garment600 having the garment tag 602 is placed at the distance 604 from aplurality of dark colored garments 800 each having a garment tag 802. Asan example, the plurality of dark colored garments 800 may represent asort pile of clothes sorted prior to being placed in a washing machinefor cleaning. In this example embodiment, the garment tags 602 and 802are instances of the intelligent garment tag 102.

Upon determining that the light colored garment 600 is proximate toplurality of dark colored garments 800 (e.g., based on the light coloredgarment 600 being placed at the distance 604 from the plurality of darkcolored garments 800), the receiver 204 of the garment tag 602 obtainsgarment attribute data of each of the plurality of dark colored garments800 stored in a respective memory 200 of the garment tags 802. Thegarment tag 602 then compares the garment attribute data of the lightcolored garment 600 (e.g., stored in the memory 200 of the garment tag602) with the garment attribute data of the plurality of dark coloredgarments 800 to determine the color compatibility of the garments. Sincethe light colored garment 600 and the plurality of dark colored garments800 are not of the same color, the garment tag 602 determines that thegarments are color incompatible. In response to this determination, thegarment tag 602 provides an alert 804 (e.g., auditory, luminescent, orhaptic alert). Because only the garment tag 602 of the light coloredgarment 600 provides the alert 804, a launderer is warned that the lightcolored garment 600 is not of similar color to the plurality of darkcolored garments 800, and thusly should be separated from the pluralityof dark colored garments 800 for the purpose of laundering so as toavoid having the plurality of dark colored garments 800 distort,tarnish, or otherwise discolor the light colored garment 600.

FIG. 9 is a flowchart illustrating a method 900 for detecting launderingdevice incompatibility, according to an example embodiment. Consistentwith some embodiments, the method 900 corresponds to the operation 410of method 400. The method 900 may be embodied in computer-readableinstructions for execution a hardware component (e.g., a processor) suchthat the steps of the method 900 may be performed in part or in whole bythe intelligent garment tag 102 or the controller 302, and accordingly,the method 900 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 900 may bedeployed on various other hardware configurations and is not intended tobe limited to the intelligent garment tag 102 or the controller 302.

At operation 905, the alert component 206 or detector module 308determines that a garment is proximate to a laundering device. Thedetermination of the proximity may, for example, be based on therelative strength of the signal provided by the transmitter 202 of anintelligent garment tag 102 affixed to the garments. As an illustrativeexample, FIG. 10 is a context diagram illustrating an alert beingprovided by a garment tag based on laundering device compatibility,according to an example embodiment. In particular, FIG. 10 illustrates agarment 1000 having a garment tag 1002, which is an instance of theintelligent garment tag 102, being placed at a distance 1004 from alaundering device 1006. Upon detecting the garment 1000 being placed atthe distance 1004, the alert component 206 of the garment tag 1002determines that the garment 1000 is proximate to the laundering device1006.

Returning to FIG. 9, at operation 910, the alert component 206 ordetector module 308 accesses the garment attribute data of the garment1000 from the memory 200 of the garment tag 1002. At operation 915, thealert component 206 or the detector module 308 determines the garment1000 is incompatible with the laundering device 1006. As an example, thegarment attribute data of the garment 1000 may indicate that the garment1000 cannot be dried in a clothes dryer, and in instances in which thelaundering device 1006 corresponds to a clothes dryer, the alertcomponent 206 or the detector module 308 determines the garment 1000 isincompatible with the laundering device 1006. As another example, thegarment attribute data of the garment 1000 may indicate that the garment1000 cannot be ironed, and in instances in which the laundering device1006 corresponds to an iron, the alert component 206 or the detectormodule 308 determines the garment 1000 is incompatible with thelaundering device 1006.

As illustrated in FIG. 10, in response to the determination that thegarment 1000 is not compatible with the laundering device 1006, thegarment tag 1002 provides an alert 1008 (e.g., auditory, luminescent, orhaptic alert). In this way, use of the intelligent garment tags 102 mayhelp launderers avoid using laundering devices with certain garmentsthat may cause damage thereto.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A hardware module is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client, or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor or a group of processors) may be configured by software (e.g.,an application or application portion) as a hardware module thatoperates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field-programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner and/or toperform certain operations described herein. Considering embodiments inwhich hardware modules are temporarily configured (e.g., programmed),each of the hardware modules need not be configured or instantiated atany one instance in time. For example, where the hardware modulescomprise a general-purpose processor configured using software, thegeneral-purpose processor may be configured as respective differenthardware modules at different times. Software may accordingly configurea processor, for example, to constitute a particular hardware module atone instance of time and to constitute a different hardware module at adifferent instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multipleof such hardware modules exist contemporaneously, communications may beachieved through signal transmission (e.g., over appropriate circuitsand buses that connect the hardware modules). In embodiments in whichmultiple hardware modules are configured or instantiated at differenttimes, communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors, not onlyresiding within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment, or a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), with these operations being accessiblevia a network (e.g., the Internet) and via one or more appropriateinterfaces (e.g., APIs).

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, or software, or in combinations ofthem. Example embodiments may be implemented using a computer programproduct, for example, a computer program tangibly embodied in aninformation carrier, for example, in a machine-readable medium forexecution by, or to control the operation of, data processing apparatus,for example, a programmable processor, a computer, or multiplecomputers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a standalone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site, or distributed across multiple sites andinterconnected by a communication network 1402.

In example embodiments, operations may be performed by one or moreprogrammable processors executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry(e.g., an FPGA or an ASIC).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Inembodiments deploying a programmable computing system, it will beappreciated that both hardware and software architectures meritconsideration. Specifically, it will be appreciated that the choice ofwhether to implement certain functionality in permanently configuredhardware (e.g., an ASIC), in temporarily configured hardware (e.g., acombination of software and a programmable processor), or in acombination of permanently and temporarily configured hardware may be adesign choice. Below are set out hardware (e.g., machine) and softwarearchitectures that may be deployed, in various example embodiments.

Machine Architecture

FIG. 11 is a diagrammatic representation of a machine in the exampleform of a computer system 1100 within which a set of instructions forcausing the machine to perform any one or more of the methodologiesdiscussed herein may be executed. The computer system 1100 maycorrespond to the controller 302, consistent with some embodiments. Inalternative embodiments, the machine operates as a standalone device ormay be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a personal digital assistant(PDA), a cellular telephone, a smart phone (e.g., iPhone®), a tabletcomputer, a web appliance, a handheld computer, a desktop computer, alaptop or netbook, a set-top box (STB) such as those provided by cableor satellite content providers, a wearable computing device such asglasses or a wristwatch, a multimedia device embedded in an automobile,a Global Positioning System (GPS) device, a data enabled book reader, avideo game system console, a network router, switch or bridge, or anymachine capable of executing instructions (sequential or otherwise) thatspecify actions to be taken by that machine. Further, while only asingle machine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The example computer system 1100 includes a processor 1102 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU), orboth), a main memory 1104, and a static memory 1106, which communicatewith each other via a bus 1108. The computer system 1100 may furtherinclude a video display 1110 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computer system 1100 also includes one ormore input/output (I/O) devices 1112, a location component 1114, a driveunit 1116, a signal generation device 1118 (e.g., a speaker), and anetwork interface device 1120. The I/O devices 1112 may, for example,include a keyboard, a mouse, a keypad, a multi-touch surface (e.g., atouchscreen or track pad), a microphone, a camera, and the like.

The location component 1114 may be used for determining a location ofthe computer system 1100. In some embodiments, the location component1114 may correspond to a GPS transceiver that may make use of thenetwork interface device 1120 to communicate GPS signals with a GPSsatellite. The location component 1114 may also be configured todetermine a location of the computer system 1100 by using an InternetProtocol (IP) address lookup or by triangulating a position based onnearby mobile communications towers. The location component 1114 may befurther configured to store a user-defined location in the main memory1104 or the static memory 1106. In some embodiments, a mobile locationenabled application may work in conjunction with the location component1114 and the network interface device 1120 to transmit the location ofthe computer system 1100 to an application server or third party serverfor the purpose of identifying the location of a user operating thecomputer system 1100.

In some embodiments, the network interface device 1120 may correspond toa transceiver and antenna. The transceiver may be configured to bothtransmit and receive cellular network signals, wireless data signals, orother types of signals via the antenna, depending on the nature of thecomputer system 1100.

Machine-Readable Medium

The drive unit 1116 includes a machine-readable medium 1122 on which isstored one or more sets of data structures and instructions 1124 (e.g.,software) embodying or used by any one or more of the methodologies orfunctions described herein. The instructions 1124 may also reside,completely or at least partially, within the main memory 1104, thestatic memory 1106, and/or the processor 1102 during execution thereofby the computer system 1100, with the main memory 1104, the staticmemory 1106, and the processor 1102 also constituting machine-readablemedia 1122.

Consistent with some embodiments, the instructions 1124 may relate tothe operations of an operating system (OS). Depending on the particulartype of the computer system 1100, the OS may, for example, be the iOS®operating system, the Android® operating system, a BlackBerry® operatingsystem, the Microsoft® Windows® Phone operating system, Symbian® OS, orwebOS®. Further, the instructions 1124 may relate to operationsperformed by applications (commonly known as “apps”), consistent withsome embodiments. One example of such an application is a mobile browserapplication that displays content, such as a web page or a userinterface using a browser.

While the machine-readable medium 1122 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore data structures or instructions 1124. The term “machine-readablemedium” shall also be taken to include any tangible medium that iscapable of storing, encoding, or carrying instructions (e.g., theinstructions 1124) for execution by the machine and that cause themachine to perform any one or more of the methodologies of the presentdisclosure, or that is capable of storing, encoding, or carrying datastructures used by or associated with such instructions. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, solid-state memories, and optical and magnetic media.Specific examples of machine-readable media include non-volatile memory,including by way of example semiconductor memory devices (e.g., erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM)) and flash memory devices;magnetic disks such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks.

Furthermore, the tangible machine-readable medium is non-transitory inthat it does not embody a propagating signal. However, labeling thetangible machine-readable medium “non-transitory” should not beconstrued to mean that the medium is incapable of movement—the mediumshould be considered as being transportable from one real-world locationto another. Additionally, since the machine-readable medium is tangible,the medium may be considered to be a machine-readable device.

Transmission Medium

The instructions 1124 may further be transmitted or received over anetwork 1126 using a transmission medium. The instructions 1124 may betransmitted using the network interface device 1520 and any one of anumber of well-known transfer protocols (e.g., HTTP). Examples ofcommunication networks include a LAN, a WAN, the Internet, mobiletelephone networks, POTS networks, and wireless data networks (e.g.,WiFi and WiMax networks). The term “transmission medium” shall be takento include any intangible medium that is capable of storing, encoding,or carrying the instructions 1124 for execution by the machine, andincludes digital or analog communications signals or other intangiblemedia to facilitate communication of such software.

Although the embodiments of the present inventive subject matter havebeen described with reference to specific example embodiments, it willbe evident that various modifications and changes may be made to theseembodiments without departing from the broader scope of the inventivesubject matter. Accordingly, the specification and drawings are to beregarded in an illustrative rather than a restrictive sense. Theaccompanying drawings that form a part hereof show by way ofillustration, and not of limitation, specific embodiments in which thesubject matter may be practiced. The embodiments illustrated aredescribed in sufficient detail to enable those skilled in the art topractice the teachings disclosed herein. Other embodiments may be usedand derived therefrom, such that structural and logical substitutionsand changes may be made without departing from the scope of thisdisclosure. This Detailed Description, therefore, is not to be taken ina limiting sense, and the scope of various embodiments is defined onlyby the appended claims, along with the full range of equivalents towhich such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

All publications, patents, and patent documents referred to in thisdocument are incorporated by reference herein in their entirety, asthough individually incorporated by reference. In the event ofinconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated referencesshould be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended; that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” “third,” and so forth are used merely as labels, andare not intended to impose numerical requirements on their objects.

1. A system comprising: a machine-readable memory storing garmentattribute data describing a plurality of garments; and an alertcomponent configured detect an alert condition based on the garmentattribute data, the alert component further configured to provide ahuman-detectable sensory alert in response to detecting the alertcondition.
 2. The system of claim 1, further comprising: a detectorconfigured to obtain at least a portion of the garment attribute data.3. The system of claim 1, wherein the garment attribute data comprisesone or more of: a fabric type, a color, a washing machine attribute, ableaching attribute, a clothes dryer attribute, an ironing attribute,and a dry-cleaning attribute.
 4. The system of claim 1, wherein thegarment attribute data includes a threshold temperature for washing agarment from among the plurality of garments.
 5. The system of claim 1,wherein the garment attribute data includes a threshold temperature fordrying a garment from among the plurality of garments.
 6. The system ofclaim 1, wherein the alert condition is based on a laundering devicebeing used to launder a garment from among the plurality of garments. 7.The system of claim 1, wherein the alert condition is based on a fabrictype or color of a garment from the plurality of garments.
 8. The systemof claim 1, wherein the alert component comprises a light emittingcomponent, and wherein the human-detectable sensory alert comprises aluminescent alert.
 9. The system of claim 1, wherein the alert componentcomprises a speaker, and wherein the human-detectable sensory alertcomprises an auditory alert.
 10. The system of claim 1, wherein thealert component comprises a haptic actuator, and wherein thehuman-detectable sensory alert comprises a haptic alert.
 11. A methodcomprising: storing, by a machine-readable memory, garment attributedata describing a plurality of garments; detecting, by one or morehardware processors, an alert condition based on the garment attributedata; and providing, by an alert component, a human-detectable sensoryalert in response to detecting the alert condition.
 12. The method ofclaim 11, wherein the garment attribute data comprises one or more of: afabric type, a color, a washing machine attribute, a bleachingattribute, a clothes dryer attribute, an ironing attribute, and adry-cleaning attribute.
 13. The method of claim 11, wherein the garmentattribute data includes a threshold temperature for washing a garmentfrom among the plurality of garments.
 14. The method of claim 11,wherein the garment attribute data includes a threshold temperature fordrying a garment from among the plurality of garments.
 15. The method ofclaim 11, wherein the alert condition is based on a laundering devicebeing used to launder a garment from among the plurality of garments.16. The method of claim 11, wherein the alert condition is based on afabric type or color of a garment from the plurality of garments. 17.The method of claim 11, wherein the human-detectable sensory alertcomprises a luminescent alert.
 18. The method of claim 11, wherein thehuman-detectable sensory alert comprises an auditory alert.
 19. Themethod of claim 11, wherein the human-detectable sensory alert comprisesa haptic alert.
 20. A non-transitory machine-readable medium storinginstructions that, when executed by at least one hardware process, causethe at least one hardware processor to perform operations comprising:accessing garment attribute data describing a plurality of garments;detecting an alert condition based on the garment attribute data; andcausing a human-detectable sensory alert to be provided in response todetecting the alert condition.